Magnetic tape systems provide convenient and low cost means for storing data. Quantities of data may be stored on a single magnetic tape data storage media, allowing higher cost storage media to be employed for other purposes. The data is typically supplied from a host at an input to the tape drive and to one or more data buffers and is thus buffered while being written to the magnetic tape data storage media by the magnetic tape drive. The speed at which the data is supplied to the data buffer (herein “buffer” may comprise one or more buffers) may not match the speed or data rate at which the magnetic tape drive writes data to the magnetic tape data storage media. Similarly, data is typically read from the magnetic tape data storage media and then supplied to the data buffer and supplied from the data buffer to the host at an output from the magnetic tape drive. The speed at which data is read from the magnetic tape data storage media and supplied to the buffer may not match the speed or data rate at which the data is transferred from the buffer to the host at the output of the tape drive. If, in writing, the data is supplied to the data buffer at a fill rate which is less than the write data rate of the magnetic tape drive, the data buffer empties and the magnetic tape drive typically stops and waits for the data buffer to fill to a point that writing may resume. To save space on the tape, the magnetic tape drive backhitches and repositions the magnetic tape data storage media to a point sufficiently far upstream of the point at which writing stopped, so that the tape can be accelerated to the writing speed and writing can resume at the point at which the writing stopped. In addition, in small buffer environments, the host effective data rate may be marginal such that the buffer can be filled during the backhitch time. If this is the case, the host or system which is supplying the data is held off from supplying data once the buffer fills until the backhitch completes. If the host's data is supplied to the tape drive's buffer at a fill rate which is greater than the data rate of the magnetic tape drive, the data buffer can become full, and the host or system which is supplying the data is held off from supplying new data. Performance is thus lost as no data is transferred until sufficient room is freed in the buffer to resume filling it from the host.
When reading data from the magnetic tape data storage media, if the drive data rate is higher than the rate at which data is transferred from the data buffer to the host system, the data buffer may fill and the magnetic tape drive typically stops and waits for the data buffer to empty to a point that there is sufficient room in the buffer to resume reading data from the magnetic tape data storage media. In order to begin reading at the point at which reading was stopped, the magnetic tape drive backhitches and repositions the magnetic tape data storage media to a point sufficiently far upstream of the point at which reading stopped, so that the tape can be accelerated to the reading speed and reading can resume at the point at which the reading stopped. If the read data is supplied to the data buffer from the magnetic tape data storage media at a rate which is less than the effective data rate of the host, the data buffer empties, and the host or system to which the data is being transferred is forced to stop accepting new data at that rate. Performance is thus lost as no data is transferred for some period of time that the host could otherwise have been receiving data.
Excessive backhitching may reduce the performance of the magnetic tape drive by reducing the transfer of data, above, and wears both the magnetic tape drive and the magnetic tape data storage media.
One way of reducing the issue is to have a very large data buffer. Such data buffers are expensive however, and thereby increase the cost of the magnetic tape system, but may be able to reduce the number of stops the tape drive is required to perform and hide the effects of stopping and backhitching so that it does not affect performance.
Performance is lost if the data fill and/or empty rate is greater than the drive data rate. If, in writing, the data is supplied to the data buffer at a fill rate which is greater than the write data rate of the magnetic tape drive, the data buffer can become full, and the host or system which is supplying the data is held off from supplying new data, reducing the drive performance. When reading data from the magnetic tape data storage media, if the rate at which data is transferred from the data buffer to the host system is greater than the drive data rate, the data buffer may empty and the host or system to which the data is being transferred is forced to stop accepting new data at that rate, reducing the drive performance.
Multi-speed magnetic tape drives offer the promise of better matching the rate at which data is supplied to the data buffer. For example, a magnetic tape data storage media may comprise a plurality of “wraps”, in which data is recorded in a serpentine pattern in which data is recorded back and forth along the length of the tape in a number of sets of tracks, each set of tracks called a wrap. The tape is stopped at an End of Wrap (EOW) and reverses direction and the magnetic tape drive resumes writing in the opposite direction on another wrap. Speed changes may be made when the tape drive resumes writing, and, if the data buffer is nearly empty at the end of wrap, new data may be added to the data buffer during the period during which the tape is stopped at the end of wrap and before writing is resumed.
Alternatively, a magnetic tape drive may have continuous speed changing ability such that the speed may be changed on the fly. A continuous speed changing ability, however, can also be expensive, thereby increasing the cost of the magnetic tape drive. It can also be unreliable and difficult to implement in that a stable write clock must be established which is tied to the speed of the media almost exactly.